import { request } from '@/utils/request'

/**
 * 获取成绩列表
 * @param {Object} params
 * @param {number} [params.pageNum] - 页码 示例值: 1
 * @param {number} [params.pageSize] - 每页数量 示例值: 10
 * @param {string} [params.name] - 学生姓名
 * @param {number} [params.tngId] - 教师-年级ID
 * @returns {Promise}
 */
export const getgradelist = (params) => {
  return request({
    url: '/api/grade/list',
    method: 'get',
    params,
  })
}


/**
 * 创建成绩
 * @param {Object} data - 创建成绩所需参数
 * @param {number} [data.id] - 成绩ID
 * @param {number} data.tgnId - 成绩名称ID
 * @param {number} data.grade - 成绩分数
 * @param {string} [data.createTime] - 创建时间（格式：date-time）
 * @param {number} data.userId - 学生用户ID
 */
export const creategrade = (data) => {
  return request({
    url: '/api/grade/create/grade',
    method: 'post',
    data,
  })
}

/**
 * 创建成绩名称
 * @param {Object} data - 创建成绩名称所需参数
 * @param {number} [data.id] - 成绩名称ID（可选）
 * @param {number} data.tcdId - 课程ID
 * @param {string} data.gradeName - 成绩名称
 * @param {number} data.passGrade - 及格分（double）
 * @param {number} data.maxGrade - 满分（double）
 * @param {string} [data.createTime] - 创建时间（格式：date-time，可选）
 */
export const creategradename = (data) => {
  return request({
    url: '/api/grade/create/gradeName',
    method: 'post',
    data,
  })
}

/**
 * 删除成绩
 * @param {number} id - 成绩ID
 * @returns {Promise} 响应对象，包含：
 */
export const deletegrade = (params) => {
  return request({
    url: '/api/grade/del/grade?id=' + params.id,
    method: 'delete',
    // params,
  })
}

/**
 * 删除成绩名称
 * @param {number} id - 成绩名称ID
 * @returns {Promise} 响应对象，包含：
 */
export const deletegradename = (params) => {
  return request({
    url: '/api/grade/del/name?id=' + params.id,
    method: 'delete',
    // params,
  })
}

/**
 * 更新成绩
 * @param {Object} params - 更新成绩所需参数
 * @param {number} [params.id] - 成绩ID（可选）
 * @param {number} params.tgnId - 成绩名称ID
 * @param {number} params.grade - 成绩（double）
 * @param {string} [params.createTime] - 创建时间（格式：date-time，可选）
 * @param {number} params.userId - 用户ID
 * @returns {Promise} 响应对象
 */
export const updategrade = (data) => {
  return request({
    url: '/api/grade/update/grade',
    method: 'put',
    data,
  })
}
